package com.jesonking.openfeigncustomer;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 通过 OpenFeigen 实现远程调用的三种方式
 */
@Component
//@FeignClient("springcloud-openfeign-provider") // 1.通过注册中心服务发现实现远程调用
//@FeignClient(name = "member",url = "127.0.0.1:8082")//2.指定url地址，不经过Ribbon的服务选择，直接请求服务
@FeignClient(name = "member",url = "${member-provider.requesturl}",contextId = "dynamicUrl")//动态url地址，不经过Ribbon的服务选择，直接请求服务
public interface SpringCloudOpenFeignProviderClient {

    @GetMapping("/call/{name}") // 使用 get 方式，调用服务提供者的 /call/{name} 接口
    String call(@PathVariable(value = "name") String name);
}
